/**
 * \file term.c
 * \author Davide Gessa
 * \date 10-12-09
 */
#include <task/term.h>
#include <types.h>
#include <video.h>

/**
 * Alloca un terminale
 * 
 * \param size dimensione del terminale
 * \return struttura terminale
 */
term_t *term_new(size_t size)
{
	term_t *t = (term_t *) mm_kalloc(sizeof(term_t));
	t->data = (char *) mm_kalloc(sizeof(char) * size);
	t->input = (char *) mm_kalloc(sizeof(char) * size);

	strcpy(t->data, "\0");
	t->cursor_pos = 0;
	t->color = VIDEO_HI_WHITE_BLACK;
}


/**
 * Dealloca un terminale
 * 
 * \param t terminale da deallocare
 */
void term_delete(term_t *t)
{
	mm_kfree(t->data);
	mm_kfree(t);
}


/**
 * Imposta un titolo
 * 
 * \param t terminale
 * \param title titolo da impostare al terminale
 */
void term_set_title(term_t *t, char *title)
{
	strcpy(t->name, title);
}
